<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class ModifyGoodsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        // 移除goods表中的parent_id
        Schema::table('goods', function($table)
        {
            if (Schema::hasColumn('goods', 'parent_id'))
            {
                $table->dropColumn('parent_id');
            }
            $table->string('spec_father_name')->comment('规格父名称');
            $table->string('spec_som_name')->comment('规格子名称');
            $table->integer('stock')->unsigned()->comment('库存');

            $table->integer('class_id')->comment('全局大分类 ID')->change();
            $table->integer('category_id')->comment('分类 ID')->change(); // 分类 ID

            $table->boolean('grant_status')->comment('true：要求授权')->change(); // true：要求授权

            $table->string('name')->comment('商品名称')->change(); // 商品名称

            $table->integer('brand_id')->comment('品牌 ID')->change(); // 品牌 ID

            $table->decimal('original_price', 10, 2)->comment('原始价格、批发价')->change(); // 原始价格、批发价

            $table->integer('province_id')->comment('省、直辖市 ID')->change(); // 省、直辖市 ID
            $table->integer('city_id')->comment('市县 ID')->change(); // 市县 ID
            $table->integer('country_id')->comment('乡村镇 ID')->change(); // 乡村镇 ID

            $table->integer('minimum_order')->comment('最小起订量')->change(); // 最小起订量
            $table->string('cn')->comment('货号')->change(); // 货号

            $table->decimal('weight')->comment('重量')->change(); // 重量
// TODO 报错 Unknown column type "tinyinteger" requested...
            //         $table->tinyInteger('display')->comment('展示权限')->change(); // 展示权限
            $table->boolean('sell_status')->comment('是否上架')->change(); // 是否上架
            $table->boolean('recommend_status')->comment('是否推荐')->change(); // 是否推荐

            $table->mediumText('detail')->comment('商品详细描述')->change(); // 商品详细描述
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        //
    }
}
